package cn.hqc.user.dto;


import cn.hqc.basic.utils.MD5Utils;
import cn.hqc.basic.utils.StrUtils;
import cn.hqc.user.domain.User;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * 手机号注册dto
 */
@Data
public class PhoneRegisterDto {

    @NotBlank(message = "手机号不能为空")
    private String phone;
    @NotBlank(message = "短信验证码不能为空")
    private String smsCode;
    @NotBlank(message = "密码不能为空")
    private String password;
    @NotBlank(message = "确认密码不能为空")
    private String passwordRepeat;


    public User getUser(){
        // 生成一个32位盐值
        String salt = StrUtils.getComplexRandomString(32);
        // todo 我的加密顺序是 盐值+密码
        String pwd = MD5Utils.encrypByMd5(salt+this.password);
        return User
                .builder()
                .username(this.phone)
                .phone(this.phone)
                .salt(salt)
                .password(pwd)
                .state(1)
                .createtime(new Date())
                .build();
    }
}
